package com.demo1.controller;

import org.springframework.boot.CommandLineRunner;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;

@RestController
public class HelloController {

    @RequestMapping("/")
    public String hello(){
        return "CJM: Hello SpringBoot!";
    }

    //Spring Boot应用程序初始化完成后，会自动回调所有CommandLineRunner类型的Bean的run方法。
    @Bean
    public CommandLineRunner commandLineRunner(ApplicationContext ctx){
        return args ->{
          System.out.println("由SpringBoot注册的所有的Bean");

          String[] beanNames = ctx.getBeanDefinitionNames();
          Arrays.sort(beanNames);
          for(String beanName : beanNames){
              System.out.println(beanName);
          }

        };
    }

}
